Wednesday, April 30, 2003

some of the most brilliant minds in the world are gathered together on the edge

Friday, April 25, 2003

I got Kazaa for my computer a few weeks back. Its fantastic. I particularly like the divX movies out there; nice small files for the most part. Watched South Park: the movie today, Princess Bride yesterday, and in the last week Spaceballs and Monty Python's Holy Grail. its neato.

Tuesday, April 22, 2003

god, i have so much work to do.

SpaceDev is developing a hybrid rocket engine for the SpaceShipOne project of Scaled Composites (Dick Rutan's company); they just did a test firing of the engine. These guys are serious contenders for the X prize.

very cool stuff.

Sunday, April 20, 2003

fooling around with power tools

fooling around with power tools

I spent some more time working on my drill press robot today. It was one of the parts of this project that I had been putting off for a while, connecting the X driveshaft to its bearing supports. This means that I enter an ugly stage: calibration. I want my X and Y axes to be perpendicular to each other, and even the slightest error anywhere along the way thus far would throw those off. It is very, very close, but I want it to be to within 1/100th of a degree if possible. Fortunately, I am working with wood in many cases, which is quite forgiving. I have eleven adjustment points, to make certain that I get X and Y tables parallel to the base, and that the X and Y axes be perpendicular to each other.

For the X table, I have a stepper motor that has 400 steps per revolution (0.9 degrees per step). Its shaft is connected to a wheel 0.6 inches in diameter, which is connected to the 1-1/2" diameter pulley by a belt. The pulley is fixed to a threaded rod, 16 threads to the inch; the shuttles have an inner 16th of an inch thread (and a 1/8th inch oter thread, which keeps it from twisting);. So, one turn of the pulley is 1/16th of an inch of linear motion. One turn of the pulley requires 2.5 turns of the motor wheel, each of which requires 400 steps from the stepper motor. Therefore, I have a resolution of 1/16000 of an inch.

The optical motion sensors consist of LEDs and phototransistors, with a slotted wheel that passes between them. This wheel is mounted on the threaded rods squeezed between the pulley wheels and the bearings. As the wheel turns, the phototransistor is alternately blocked and receiving from the LED by the tabs and gaps of the wheel. There are 24 tabs (and 24 gaps), so an edge-triggered detector sends a signal to the computer on a transition from high to low or low to high. The effect is 48 signals from the sensor circuit for every full turn of the wheel, or 768 signals per inch; roughly 20.833 motor steps per sensor pulse. Of course, the optical wheel is hand-made (with the lid of a margarine container and an exacto knife), and the tabs and gaps are not perfectly uniform, but they are close enough . At any rate, that pretty much means that the limits of accuracy are about twice the minimum resolution of the sensors, about 1/384th of an inch. That isn't too bad at all, as the holes I will be drilling for the circuit boards will be 1/64 inch diameter, and I was shooting for at least 1/256th of an inch for my accuracy rate. The accuracy may be much higher, up to about half the limits of the accuracy of the motor (say 1/8000th of an inch), but I can really only go by the data that the optical sensors give me.

I do have the advantage of repeating the count of motor steps between pulses for each tab and gap. There are only 48, after all, so I can do a simple statistical analysis of the counts, and approximate the actual position based on the present count. 10 data points for each value ought to be enough, and so within ten revolutions (10000 stepper motor pulses) I ought to have that data figured out. It will take less than 1/2 k of RAM to store the necessary data.

I better get some sleep, i have to go to work soon.

Dick Rutan unveils SpaceShipOne

and another private space initiative by Elon Musk

Saturday, April 19, 2003

I tend to run off at the mouth when I get going



I confess. I still use my Vic20 computer. It is ancient, about 20 years old -- older than most marriages. If computers were cars, then my Vic20 is a Model T (and the computer I'm writing this on is a Volkswagen Rabbit). But, like collectors of classic cars, there are collectors of classic computers out there, too -- the TRS-80, the Altair, the Model100 laptop, the Apple II, and yes, the Vic20.

The Vic is an amazing computer for its time. It was a real computer in its own right, one in which you could program whatever you wanted; but it was also a game computer, with memory-mapped I/O and special-function chips for graphics and sound. Game cartridges were simply plugged into the back, or software could be run from disk or, more often, cassette tape. Included among the cartridges available was the 16k expander cartridge, which brings my Vic up to a whopping 20k of RAM (well, 19968 bytes of program space and 1/2 k bytes for the screen).

What good is a computer with only 20 k of RAM? plenty. It was the first computer i ever owned, and it was the one that I learned to program on. Not only did I learn BASIC, I also figured out machine language (assembler). Then, when I took programming courses in FORTRAN77, Pascal, and C (and assembly languages for various microprocessors and microcontrollers), I was able to pick up concepts very easily, noting the similarities or differences to the programming of the Vic. I would sometimes write a program in Vic BASIC or assembler first, then re-write it in Pascal or C or whatever once I had the logical flow figured out and all the bugs worked out.

I remember taking a course on Pascal, and one of the labs was to write a program that would solve a 4 x 4 matrix. I of course had to make it much more challenging for myself, so I wrote one that solved for parametric equations (more variables than descriptive equations) and for solutions in the complex numbers. I was able to solve a 30x30 matrix (over a computing time of a few minutes) on the Vic20 before I solved it on the IBM. Of course, on the computers we were using in class at the time (brand new 386s), I could solve up to 100x100 in half a minute. Even so, the program to do this on the Vic was very small and easy to write compared to the Pascal version, and so I used it to test out the subroutines before translating them into Pascal.

Back when I was a college student, I didn't have a lot of money, so I had to use what I had... and what I had was the Vic. When I needed to have a program that I could use to design and produce printed circuit boards with, and the programs on the school's computers were inadequate, I turned to my Vic 20.

I started writing the PCB CAD program in BASIC, and about halfway through realized that I wasn't going to have enough memory for the data. So, I started writing a few routines in machine language -- the hard way, writing them down on paper, looking up the opcodes, converting them to decimal, copying them into a READ/DATA structure in a separate program, and then loading and writing a program that would load and run the machine language creation routines first, followed by loading and running the BASIC program. After a while, I saw that even that wasn't going to cut it; I had to write the whole program in machine language.

Now, the problem is that there were no (or very few) machine language editors out there available for the Vic20 (there still aren't). So, I had to write an editor before I could write the CAD program. And, in order to have an efficient editor, it too had to be written in machine language. So, I had to do it the hard way, writing the whole program down ( or as much as I needed for the bootstrap process), convert to decimal and copy into DATA structures. Then I ran the program that read those data strctures, and ran the resulting machine language code. This gave me the bare bones of an editor, and I used those bare bones to flesh the editor out, adding functionality as I went (including parts of a disk operating system). In all, the editor takes up about 5k of RAM. I then used that to write my CAD program, which i in turn used to create a dozen or so printed circuit board designs.

Now that I have my Rabbit, I have transferred the CAD data files to the PC, and edited them in Paint to give print-quality images. I am using those images to create transparencies that are ironed-on to double-sided copper clad board, then etching them to get my printed circuits. Then I am using the Vic to control the drill press robot (see link at left) which will drill all of the holes in my circuit boards -- which is a good thing, when one is producing over 100 boards with 200 holes each and needs the holes to within less than 1/100th of an inch... doing it by hand with a drillpress is a recipe for insanity, particularly since one wrong hole can mean the ruin of a circuit.

I'm doing other stuff with the Vic as well. I am writing all of the software for my snake robots (in 8085 assembly language, I wrote an editor for that) and for a clock/timer circuit (using the PIC microcontroller, I am learning the language and writing an editor for that as well) which I am building for a client. I am also building a few circuits; one to control the rill press robot with the Vic, another to program the PIC or EPROMs for my other projects; these will plug into the USR port on the back of the Vic through an interface module I built the other day.

I am also writing a new mid-level programming language, FUNGAL (for FUzzy logic / Neural network / Genetic Algorithm Language), and although the language will run on the computers and other circuits I designed , the editor for the language (and the source of all the data files) is the Vic 20. The FUNGAL code, ncluding the interpreter and lookup tables, will be stored on EPROMS which plug into the circuits. Those EPROMS will be programmmed in the circuit I build that plugs into the VIC 20. So, my VIC over time has basically become an integral part of my printed circuit production facility.
granola bar update: I put the whole thing back into the pot, stirred it a bit more. All of the chocolate melted, and everything mixed much nicer. When it cooled in the baking sheet, it turned out fantastic.

Friday, April 18, 2003

the beginnings of property law for space

the beginnings of property law for space

The Archimedes Institute - space law and policy research
PERMANENT: Asteroids utilization, etc.
The Full Moon Atlas : Lunar Navigator : Map of the Moon
moon data

the theater of the absurd

the theater of the absurd

So supposedly the iraqi information minister hung himself soon after the fall of Baghdad. This quote from Mohammed Saeed al-Sahaf, as he sipped a martini next to a pool in Syria:"I tell you the truth, the Iraqi information minister is dead"(sip)"and there are no Iraqi officials in Syria"(quote entirely made up, who knows, the guy might really have done it. But then, that would have required a grasp on reality).
I made some granola bars today. It's easy. Just make them the same way you make Rice Krispie (tm) squares, substituting granola for the rice cereal. I added coconut, walnuts, oatmeal, and chocolate chips to the granola. I used too much marshmallow, though, and its basically granola in a block of sugar now.

first of many anti-NASA rants

first of many anti-NASA rants

What exactly is NASA's purpose? If it is to explore space, then that is what they should do. If it is to send people to space and make a place for them to stay, then that is what they should do. If it is to conduct research in robotics and teleoperation, then that is what they should do.

NASA is all over the map. No business could survive the way that NASA does. And continuing to pour money into NASA (US$15B this year, US$18B next) brings us no closer to actually having people -- lots of them -- living and working in space.

All of the really difficult stuff was done 20 to 40 years ago. We know how to launch a rocket. Our home computers are each equivalent to NASA's entire mission control back in 1969. Calculating orbital mechanics is a breeze with the right software.

The international space station is a grotesque monstrosity. It takes three astronauts working full time just to keep it running, and I doubt it will ever be fully crewed. It had the potential to be a wonder of the world on the order of the Pyramids, but instead will become the greatest white elephant of all time.

Stanley Kubrick and Arthur C. Clarke showed how it should be done back in 1968, with "2001: a Space Odyssey"; make a large wheel-shaped space station. Something with a 90 m radius spinning at 2 rpm would produce about 2/5 gee of centripetal acceleration (equivalent to gravity) at the rim. But, you say, that is huge! how would we get something that big up there?

Well, you don't launch it all at once; Mir and the International Space Station (aka Mir II) were both assembled in stages. Even so, that is a lot of launches... or is it? NASA has already launched enough hardware since 1982 to build 7 or 8 such stations. How?

By using the external tank. Currently, this vessel is accelerated to 99% of orbital energy, then the shuttle slows down and discards it. The shuttle then uses its on-board tanks to accelerate the rest of the way to orbit. At the time the tanks are discarded, they each contain roughly 10000 kg of Oxygen and 1000 kg of Hydrogen, which could instead be used to bring both the shuttle and the tank to orbit. The ET itself is 30000 kg of Aluminum/Lithium alloy, and the interior volume of one of them is more than the ISS and Mir put together.

An external tank structure is huge. It is actually two tanks, a cylinder 97 feet long and 28 feet in diameter for LH2, and an egg-shape 50 feet long (and 28 feet in diameter at its widest) on top for the LOX. The walls are two inches thick. They are capable of holding more than one atmosphere of pressure. 12 of them in a ring make a circle with a radius of 90 meters; four more could be placed in the hub for microgravity experiments. Simple rocket boosters would be converted to "spokes" for the wheel. There is a diagram here.

The space shuttle itself is ... well let's just say that a camel is a horse designed by committee. If you want to build a space bus, then build a damn space bus, something that can carry at least two dozen people safely to and from space. If you want to build a freight truck, then build a damn freight truck, something with a crew of two or even unmanned. Leave most of what you send up to space, up there.

What NASA did with the space shuttle was attach the front of a bus to the back of a freight truck. Then they added wings to it, because flying a spaceplane is sexy. This was all done in the name of reusability; this is a total joke. Solid rocket boosters get re-used a few times, fine. Two out of 5 orbiters have been destroyed; now the remaining three face an increased workload, more wear-and-tear. And over 100 external tanks have been wasted. Some re-usability.

Your tax dollars at work.

Thursday, April 17, 2003

International Space Station
im still figuring out this "blog" stuff

grammatically incorrect

grammatically incorrect

I hate when people say that X is "needless to say", and then go ahead and expound upon X at length. If X is "needless to say", then stop talking. Similarly, it pisses me off when someone says "Mr X. needs no introduction" - and then goes right ahead introducing Mr X. I mean, if someone really needed no introduction, then all he would have to do is walk into a room and there would be a standing ovation (hey, it happens...what would you do if Bob Hope walked into a packed restaurant... rush the guy for autographs? pretend he wasn't there? its BOB HOPE fercryinoutloud... but i digress). So don't say that "the following person needs no introduction" unless you plan to sit down and shut up. In which case you probably shouldn't have started talking in the first place. And if something is "needless to say", then just shut up.

The world would be a much quieter place if people would just shut up.

get the UN out of the USA

get the UN out of the USA

HR1146 the American Sovereignty Restoration Act of 2003

as Dave Barry would say...

as Dave Barry would say...
i am not making this up